package com.dzl.goods.service;

import com.dzl.base.service.BaseService;
import com.dzl.goods.pojo.WelfareGoodsAttr;
import com.dzl.goods.pojo.vo.WelfareSkuGoodsVo;
import com.dzl.goods.pojo.vo.WelfareGoodsAttrVoucherVo;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 商品sku规格表(WelfareGoodsAttr)表服务接口
 * @author ChenLong
 * @since 2021-05-18 17:58:34
 */
public interface WelfareGoodsAttrService extends BaseService<WelfareGoodsAttr> {
    /**
     * 获取该商品下未匹配到的规格id
     * @param skuIdList 规格id列表
     * @return java.util.List<java.lang.Integer>
     * @author ChenLong
     * @date 2021-06-01 20:39:40
     **/
    List<Integer> getGoodsAttrSkuListBySkuId(List<Integer> skuIdList, Integer goodsId);

    /**
     * 逻辑删除为匹配到的规格id
     * @param skuIdList 规格id列表
     * @return int
     * @author ChenLong
     * @date 2021-06-01 20:39:44
     **/
    Integer deleteLogicGoodsAttrSkuListBySkuId(List<Integer> skuIdList);

    /**
     * 物理删除已有的规格id列表
     * @param skuIdList 规格id列表
     * @return int
     * @author ChenLong
     * @date 2021-06-01 20:39:47
     **/
    Integer deleteGoodsAttrSkuListBySkuId(List<Integer> skuIdList);

    /**
     * 添加sku列表
     * @param list 列表
     * @return int
     * @author ChenLong
     * @date 2021-06-17 20:16:38
     **/
    Integer insertGoodsAttrSkuList(List<WelfareGoodsAttr> list);

    /**
     * 获取规格及券密信息
     * @param
     * @return java.util.List
     * @author ChenLong
     * @date 2021-06-22 09:18:03
     **/
    List<WelfareGoodsAttrVoucherVo> getGoodsAttrWithVoucherByGoodsId(Integer goodsId);

    /**
     * 获取规格详情
     * @param welfareGoodsAttr 规格
     * @return java.util.List
     * @author ChenLong
     * @date 2021-06-22 18:51:57
     **/
    WelfareGoodsAttrVoucherVo getGoodsAttrWithVoucher(WelfareGoodsAttr welfareGoodsAttr);

    /**
     * 查询导出商品的数据（以SKU的维度）
     * @date 2021/7/29 0029 15:26
     * @author wangjian
     * @param ids 多id
     * @return java.util.List<com.dzl.goods.pojo.vo.WelfareGoodsAttrVo>
     */
    List<WelfareSkuGoodsVo> getGoodsAttrsByGoodsId(String ids);
    /**
     * 导出excel
     * @date 2021/7/29 0029 15:35
     * @author wangjian
     * @param voList 商品规格列表
     * @param res 返回结果
     * @return void
     */
    void export(List<WelfareSkuGoodsVo> voList, HttpServletResponse res);
}
